1. Copyright Notice
This patent document contains information subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent, as it appears in the U.S. Patent and Trademark Office files or records, but otherwise reserves all copyright rights whatsoever.
2. Field of the Invention
Aspects of the present invention generally relate to machine vision. Other, aspects of the present invention relate to providing access to the results of machine vision operations.
3. Description of Background Information
Machine vision technology is used around the world to automatically gauge part dimensions, guide robotic equipment, identify products, and inspect for defects in industries that include, but are not limited to, semiconductors, electronics, automotive parts, consumer products, electrical components, medical devices, and packaging. FIG. 2, for example, illustrates a machine vision system 200 in which an image acquisition subsystem 202, positioned on a production line, captures and stores an image of the part to be inspected. A machine vision computer 204 then uses machine vision image and data analysis software to extract information from the image and to produce a result that can be used to make decisions about the image. Once the vision system has processed and analyzed the image, the result 206 is communicated to the operator, or, as illustrated, to other manufacturing equipment 208 on the factory floor. The result may be used to control manufacturing equipment or to determine the quality of a part, or it may be input to another image analysis operation.
The machine vision software on computer 204 performs image analysis operations. Examples of image analysis operations include, but are not limited to, pattern location algorithms, gauging algorithms, character recognition algorithms, and image filters such as a Gaussian filter.
Suppliers of machine vision software may protect their software from unauthorized duplication by using a hardware or software security method. In addition, or as a substitute for hardware or software security methods, users of machine vision may be forced to support awkward licensing schemes imposed by machine vision vendors in an effort to protect their software from unauthorized use or duplication. Depending on the type of security used, licensees may be required to pay for licenses not needed to support their usage.
In addition, machine vision systems are difficult to maintain in the field. For instance, it may be challenging to update a machine vision system with a new version of software, or a new license, after it has been installed on a manufacturing production line. Moreover, customers wishing to test proprietary machine vision software on a particular part may be required to purchase and install software and the associated licenses, which is a significant deterrent to “quick-turn” software development.
To be more specific vendors may use one of the following three security methods to prevent improper copying or use of their software:
Hardware security may be employed. For example, a security code may be programmed into a hardware device, such as EEPROM on a frame grabber; or a hardware dongle which plugs into a parallel port. The machine vision software would check whether the required security code is present before executing a protected algorithm.
Dedicated software security may be employed. For example, protected software may be registered on a specific computer that is associated with a unique identifier on the computer, such as a hard disk serial number or an Ethernet address. Any attempt to copy the protected software to another computer would fail if that computer does not have the same unique identifier.
Floating licenses may be employed. For example, licenses are granted from a central computer on a network. Other computers on the network must request and be granted a license in order to fun the protected software. When the computers are finished, they typically release the license so that other computers can use the license. A fixed number of licenses are issued, so if all the licenses are being utilized, the computer requesting a license must wait until the license is freed by another computer.
These security methods present numerous problems that hinder the use of machine vision. The hardware and dedicated security methods are awkward to manage, and do not readily permit sharing of licenses among multiple computers. Floating licenses are subject to problems if the license server or any computer with a license crashes or goes of the network, or if the network itself ceases operation. Also, floating licenses do not readily handle inconsistent loads, i.e., periods of relative inactivity followed by periods when there are more requests for licenses than there are licenses. To accommodate these inconsistent loads, users must purchase additional licenses which are unused for significant portions of time, or queue up license requests.
Additionally, these security methods make it difficult for users of machine vision software to efficiently maintain the latest version of software because the user must explicitly install the software on each computer that needs to run the latest version of software. This is often difficult once a computer has been installed at a manufacturing facility. It may also be difficult to install bug fixes, patches and service releases which fix problems with older versions of the software. Customers must also track which versions of software and patches they have installed one each computer. In addition, computers using hardware or dedicated software security may need to update their licenses in the field if the new software requires additional license permission in order to run.